OLE method failed

I have a very large module I am attempting to export out to Word. Just before completion, I get the following error:

OLE method failed: OLE problem: This method or property is not available because there is a memory or disk problem.

Other users have experienced this error when exporting large modules and we haven't identified an effective corrective measure yet. Has anyone else seen this and developed a solution?
Zetareticuli - Tue May 04 11:05:59 EDT 2010

Re: OLE method failed
Mathias Mamsch - Tue May 04 16:10:12 EDT 2010

What exporter are you using? Do you know with which object he fails and how large the OLE object in there is? Regards, Mathias

Re: OLE method failed
David_G_Bond - Wed May 05 10:09:00 EDT 2010

The standard word exporter in DOORS has issues. First, it is not written to manage memory very well. For example, each time something is written to word it is also stored in an undo buffer. During export we are not concerned about "undoing" any of the data that we export, so the undo buffer should be regularly cleared. Second, dxl itself does not always manage memory very well. The issue you have is very common when exporting large modules.

At Boeing we modified the word exporter to clear the undo buffer after each object is exported. We also made modifications to improve performance and add new features. Even with these improvements for some of the larger modules we have to break up the export into chunks. We use views to define different chunks that we export separately and then combine the result at the end. It may be sufficient in your case, since the error occurs just as the export is finishing, to add an "UndoClear" method in the code after each object is exported.

  • David Bond

Re: OLE method failed
Zetareticuli - Wed Oct 13 14:23:21 EDT 2010

David_G_Bond - Wed May 05 10:09:00 EDT 2010
The standard word exporter in DOORS has issues. First, it is not written to manage memory very well. For example, each time something is written to word it is also stored in an undo buffer. During export we are not concerned about "undoing" any of the data that we export, so the undo buffer should be regularly cleared. Second, dxl itself does not always manage memory very well. The issue you have is very common when exporting large modules.

At Boeing we modified the word exporter to clear the undo buffer after each object is exported. We also made modifications to improve performance and add new features. Even with these improvements for some of the larger modules we have to break up the export into chunks. We use views to define different chunks that we export separately and then combine the result at the end. It may be sufficient in your case, since the error occurs just as the export is finishing, to add an "UndoClear" method in the code after each object is exported.

  • David Bond

Thanks for the suggestions. I've done some tinkering and learned some more information about this. Apparently the culprit is Word, not DOORS. I've used two different DXL export scripts while closely monitoring the Memory usage via Windows Task Manager. The more efficient exporter uses just under 500MB of memory, while the less efficient one uses around 850MB. With both scripts the export process fails around object 6820 of 7719. DOORS echos the following error message from Word:

<DOORS error message>
OLE method failed: OLE problem: This method or property is not available because there is a memory or disk problem.
</DOORS error message>

I believe the print out of "OLE method failed:" is associated with the vbaCheckRes method or perhaps the oleMethod() function. When the function fails, it prints out the error message that the external program reported back. I'm thinking that the portion of the error message starting with "OLE problem:" came from within Word itself. When I look at the Word document, there is a pop up error message with the following text:

<Word error Message>
There is insufficient memory or disk space. Close extra windows and try again. (C:\...\Word\~WRA0001.asd)
</Word error Message>

The unique error number associated with this message (obtained by pressing ctr + shift + I) is 200856

I'm at a loss here. If the problem doesn't lie in DOORS, then I'm at a loss how to identify it in Word. I wonder if it might still be the exporting scripts fault if Word can't keep up with the data or some other odd artifact. In any case, I'm out of ideas as to a resolution to try. Any other suggestions?

Re: OLE method failed
Zetareticuli - Thu Oct 14 15:30:56 EDT 2010

Zetareticuli - Wed Oct 13 14:23:21 EDT 2010
Thanks for the suggestions. I've done some tinkering and learned some more information about this. Apparently the culprit is Word, not DOORS. I've used two different DXL export scripts while closely monitoring the Memory usage via Windows Task Manager. The more efficient exporter uses just under 500MB of memory, while the less efficient one uses around 850MB. With both scripts the export process fails around object 6820 of 7719. DOORS echos the following error message from Word:

<DOORS error message>
OLE method failed: OLE problem: This method or property is not available because there is a memory or disk problem.
</DOORS error message>

I believe the print out of "OLE method failed:" is associated with the vbaCheckRes method or perhaps the oleMethod() function. When the function fails, it prints out the error message that the external program reported back. I'm thinking that the portion of the error message starting with "OLE problem:" came from within Word itself. When I look at the Word document, there is a pop up error message with the following text:

<Word error Message>
There is insufficient memory or disk space. Close extra windows and try again. (C:\...\Word\~WRA0001.asd)
</Word error Message>

The unique error number associated with this message (obtained by pressing ctr + shift + I) is 200856

I'm at a loss here. If the problem doesn't lie in DOORS, then I'm at a loss how to identify it in Word. I wonder if it might still be the exporting scripts fault if Word can't keep up with the data or some other odd artifact. In any case, I'm out of ideas as to a resolution to try. Any other suggestions?

I have found a workaround that is a little awkward, but seems to work. I've included OLE commands to periodically (once every 4000 objects) save the Word document being exported, close it, then reopen it and continue exporting. It's a little tricky since you need to get new handles to everything all over again and you have to ensure the selection object is moved to the end of the document, but it seems to have fixed the problem.

Re: OLE method failed
Dartguru - Fri Jul 01 08:25:54 EDT 2011

Zetareticuli - Thu Oct 14 15:30:56 EDT 2010
I have found a workaround that is a little awkward, but seems to work. I've included OLE commands to periodically (once every 4000 objects) save the Word document being exported, close it, then reopen it and continue exporting. It's a little tricky since you need to get new handles to everything all over again and you have to ensure the selection object is moved to the end of the document, but it seems to have fixed the problem.

(I'm hoping that the author of this thread is still getting emails from it when new messages are added, as this is the only thread I can find which provides a solution to this problem).

You say that you have included OLE commands to save the Word document periodically. How do you achieve this using the standard export via File|Export|Microsoft Office|Word ?

I have an 11000 object, 80MB module whic gets the same error as described as it nears the end.

Thanks in advance

Al